//字节跳动的考试题：

for (var index = 0; index < 5; index++) {
    
   setTimeout(() => {
    //console.log(index+1);
   }, 0);
    
}

//console.log(index+1);

//先输出6
//再输出5个6

/**
 * 有一串无序的时间数组，需要把它合并（如果相同时间段或者交叉）并且排序
 */
let arr=["13:01-13:30","10:00-13:00","8:00-9:00"];
let arr1=arr.sort(sortTime);
console.log(arr1);
let i=0;
while(i<arr1.length-1){
    const str1=arr1[i];
    const str2=arr1[i+1];
    const str1_start=getStart(str1);
    const str1_end=getEnd(str1);
    const str2_start=getStart(str2);
    const str2_end=getEnd(str2);
    //如果时间重叠则合并
    if(convertToMinutes(str1_end)>=convertToMinutes(str2_start)){
        
        const newStr= str1_start+"-"+str2_end;

        arr1[i]=newStr;//设置当前为最新的

        arr1.splice(i+1,1);//删除下一个
        console.log("删除",newStr,str1_end,str2_start);
    }else{
        i++;
    }
    
    
}

console.log(arr1);

//排序时间
function sortTime(a,b){
    let next=getStartMin(a);
    let current=getStartMin(b);
    console.log(a,next,b,current);

    return next>=current? true:-1;
}
//获取开始分钟数
function getStartMin(str){
    return convertToMinutes(getStart(str));
}
//获取结束分钟数
function getEndMin(str){
    return convertToMinutes(getEnd(str));
}
//获取开始时间
function getStart(str){
    return str.split("-")[0];
}
//获取结束时间
function getEnd(str){
    return str.split("-")[1];
}

//把时间转成分钟
function convertToMinutes(str){
    let hour=parseInt(str.split(":")[0]);
    let minutes=parseInt(str.split(":")[1]);
    return hour*60+minutes;
} 